package com.oron3.locker;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class SecretHolder implements Serializable {
	public SecretID id;
	public ArrayList<Secret> secrets;

	public SecretHolder() {
		id = new SecretID();
		secrets = new ArrayList<Secret>();
	}

	public SecretHolder(SecretID id, ArrayList<Secret> secrets) {
		super();
		this.id = id;
		this.secrets = secrets;
	}

	public boolean add(Secret object) {
		return secrets.add(object);
	}

	public void add(int index, Secret object) {
		secrets.add(index, object);
	}

	public boolean containsAll(Collection<?> collection) {
		return secrets.containsAll(collection);
	}

	public boolean addAll(Collection<? extends Secret> collection) {
		return secrets.addAll(collection);
	}

	public boolean addAll(int index, Collection<? extends Secret> collection) {
		return secrets.addAll(index, collection);
	}

	public void clear() {
		secrets.clear();
	}

	public boolean removeAll(Collection<?> collection) {
		return secrets.removeAll(collection);
	}

	public Secret get(int index) {
		return secrets.get(index);
	}

	public int size() {
		return secrets.size();
	}

	public boolean isEmpty() {
		return secrets.isEmpty();
	}

	public boolean contains(Object object) {
		return secrets.contains(object);
	}

	public boolean retainAll(Collection<?> collection) {
		return secrets.retainAll(collection);
	}

	public int indexOf(Object object) {
		return secrets.indexOf(object);
	}

	public int lastIndexOf(Object object) {
		return secrets.lastIndexOf(object);
	}

	public Secret remove(int index) {
		return secrets.remove(index);
	}

	public boolean remove(Object object) {
		return secrets.remove(object);
	}

	public Secret set(int index, Secret object) {
		return secrets.set(index, object);
	}

	@Override
	public int hashCode() {
		return secrets.hashCode();
	}

	@Override
	public boolean equals(Object o) {
		return secrets.equals(o);
	}

	public List<Secret> subList(int start, int end) {
		return secrets.subList(start, end);
	}

}
